[INFO] fetching crate omicsx 1.0.2...
[INFO] checking omicsx-1.0.2 against try#b946edaa85de45f124065f52b1bc55ba2fb4f9fb for pr-157562
[INFO] extracting crate omicsx 1.0.2 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate omicsx 1.0.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate omicsx 1.0.2
[INFO] tweaked toml for crates.io crate omicsx 1.0.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate omicsx 1.0.2 on toolchain b946edaa85de45f124065f52b1bc55ba2fb4f9fb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b946edaa85de45f124065f52b1bc55ba2fb4f9fb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate omicsx 1.0.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b946edaa85de45f124065f52b1bc55ba2fb4f9fb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cc6f1239546ec0f49f7d96ac6e5e1d33da2a1affa84431a3e61a6d3b631a46f8
[INFO] running `Command { std: "docker" "start" "cc6f1239546ec0f49f7d96ac6e5e1d33da2a1affa84431a3e61a6d3b631a46f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cc6f1239546ec0f49f7d96ac6e5e1d33da2a1affa84431a3e61a6d3b631a46f8" "/opt/rustwide/cargo-home/bin/cargo" "+b946edaa85de45f124065f52b1bc55ba2fb4f9fb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc6f1239546ec0f49f7d96ac6e5e1d33da2a1affa84431a3e61a6d3b631a46f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cc6f1239546ec0f49f7d96ac6e5e1d33da2a1affa84431a3e61a6d3b631a46f8" "/opt/rustwide/cargo-home/bin/cargo" "+b946edaa85de45f124065f52b1bc55ba2fb4f9fb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]    Compiling omicsx v1.0.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stdout] warning: unused import: `crate::protein::Protein`
[INFO] [stdout]  --> src/alignment/gpu_executor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::protein::Protein;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protein::AminoAcid`
[INFO] [stdout]  --> src/alignment/gpu_executor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::protein::AminoAcid;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AffinePenalty` and `ScoringMatrix`
[INFO] [stdout]  --> src/alignment/gpu_executor.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::scoring::{ScoringMatrix, AffinePenalty};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::alignment::AlignmentResult`
[INFO] [stdout]  --> src/alignment/gpu_executor.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::alignment::AlignmentResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: duplicated attribute
[INFO] [stdout]    --> src/alignment/bam.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 440 |     #[test]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/alignment/smith_waterman_cuda.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protein::Protein`
[INFO] [stdout]  --> src/alignment/gpu_executor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::protein::Protein;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protein::AminoAcid`
[INFO] [stdout]  --> src/alignment/gpu_executor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::protein::AminoAcid;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AffinePenalty` and `ScoringMatrix`
[INFO] [stdout]  --> src/alignment/gpu_executor.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::scoring::{ScoringMatrix, AffinePenalty};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::alignment::AlignmentResult`
[INFO] [stdout]  --> src/alignment/gpu_executor.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::alignment::AlignmentResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte_size`
[INFO] [stdout]    --> src/alignment/cuda_runtime.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let byte_size = size * std::mem::size_of::<T>();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_byte_size`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/alignment/cuda_runtime.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn copy_to_device<T>(&self, data: &[T]) -> Result<GpuBuffer<T>>
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/alignment/cuda_runtime.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn copy_from_device<T>(&self, buf: &GpuBuffer<T>) -> Result<Vec<T>>
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matrix`
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |         matrix: &[i32],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gap_open`
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         gap_open: i32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gap_open`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gap_extend`
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         gap_extend: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gap_extend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iteration`
[INFO] [stdout]    --> src/futures/tree_refinement.rs:201:21
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 for iteration in 0..10 {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_cost` is never read
[INFO] [stdout]    --> src/futures/tree_refinement.rs:316:26
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let mut total_cost = 0u64;
[INFO] [stdout]     |                          ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 321 |     total_cost = cost as u64;
[INFO] [stdout]     |     ------------------------ `total_cost` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `traceback_nw` is never used
[INFO] [stdout]    --> src/alignment/mod.rs:889:8
[INFO] [stdout]     |
[INFO] [stdout] 746 | impl NeedlemanWunsch {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 889 |     fn traceback_nw(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_sw_cpu` is never used
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl SmithWatermanKernel {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn compute_sw_cpu(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_nw_cpu` is never used
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl NeedlemanWunschKernel {
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn compute_nw_cpu(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `execute_viterbi_kernel` is never used
[INFO] [stdout]    --> src/alignment/simd_viterbi.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl ViterbiDecoder {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     fn execute_viterbi_kernel(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `profile`, `matrix`, `gap_open`, and `gap_extend` are never read
[INFO] [stdout]   --> src/alignment/gpu_tiling_strategy.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct GpuTilingStrategy {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     profile: TilingProfile,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 93 |     /// Scoring matrix
[INFO] [stdout] 94 |     matrix: ScoringMatrix,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 95 |     /// Penalty values
[INFO] [stdout] 96 |     gap_open: i32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 97 |     gap_extend: i32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_descendants` is never used
[INFO] [stdout]    --> src/futures/tree_refinement.rs:411:4
[INFO] [stdout]     |
[INFO] [stdout] 411 | fn count_descendants(tree: &RefinableTree, node_id: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]   --> src/futures/streaming_msa.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct StreamingMSA {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     matrix: ScoringMatrix,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `task_counter` is never read
[INFO] [stdout]   --> src/futures/distributed.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct TaskQueue {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 62 |     tasks: Arc<Mutex<VecDeque<AlignmentTask>>>,
[INFO] [stdout] 63 |     task_counter: Arc<AtomicUsize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_task_id` is never used
[INFO] [stdout]    --> src/futures/distributed.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl TaskQueue {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn next_task_id(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte_size`
[INFO] [stdout]    --> src/alignment/cuda_runtime.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let byte_size = size * std::mem::size_of::<T>();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_byte_size`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/alignment/cuda_runtime.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn copy_to_device<T>(&self, data: &[T]) -> Result<GpuBuffer<T>>
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/alignment/cuda_runtime.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn copy_from_device<T>(&self, buf: &GpuBuffer<T>) -> Result<Vec<T>>
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matrix`
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |         matrix: &[i32],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gap_open`
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         gap_open: i32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gap_open`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gap_extend`
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         gap_extend: i32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gap_extend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/alignment/hmmer3_parser.rs:610:13
[INFO] [stdout]     |
[INFO] [stdout] 610 |         let mut model = HmmerModel {
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuAvailability`
[INFO] [stdout]  --> examples/gpu_acceleration.rs:6:59
[INFO] [stdout]   |
[INFO] [stdout] 6 | use omicsx::alignment::{GpuDispatcher, AlignmentStrategy, GpuAvailability};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Protein`
[INFO] [stdout]  --> examples/gpu_acceleration.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use omicsx::protein::{Protein, AminoAcid};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `omicsx::scoring::ScoringMatrix`
[INFO] [stdout]  --> examples/gpu_acceleration.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use omicsx::scoring::ScoringMatrix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/alignment/simd_viterbi.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout] 1109 |         let mut decoder = ViterbiDecoder::new_dummy();
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a2`
[INFO] [stdout]    --> src/alignment/gpu_memory.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |         let a2 = pool.allocate(1000).unwrap();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_a2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SequenceType`
[INFO] [stdout]   --> examples/st_jude_integration.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 |     BridgeConfig, StJudeBridge, SequenceType,
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mem_mb`
[INFO] [stdout]    --> src/alignment/gpu_tiling_strategy.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let mem_mb = mem_bytes / (1024 * 1024);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mem_mb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AminoAcid`
[INFO] [stdout]   --> examples/neon_alignment.rs:25:23
[INFO] [stdout]    |
[INFO] [stdout] 25 | use omicsx::protein::{AminoAcid, Protein};
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> examples/gpu_execution_test.rs:168:19
[INFO] [stdout]     |
[INFO] [stdout] 168 |         for (idx, device) in devices.iter().take(3).enumerate() {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HmmFormat`
[INFO] [stdout]  --> tests/multiformat_hmm_integration.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use omicsx::alignment::{MultiFormatHmmParser, HmmFormat};
[INFO] [stdout]   |                                                   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> tests/gpu_halo_buffer_integration.rs:134:33
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     let value = (tr as i32 * 1000 + tc as i32 * 100 + i as i32);
[INFO] [stdout]     |                                 ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 134 -                     let value = (tr as i32 * 1000 + tc as i32 * 100 + i as i32);
[INFO] [stdout] 134 +                     let value = tr as i32 * 1000 + tc as i32 * 100 + i as i32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iteration`
[INFO] [stdout]    --> src/futures/tree_refinement.rs:201:21
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 for iteration in 0..10 {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_cost` is never read
[INFO] [stdout]    --> src/futures/tree_refinement.rs:316:26
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let mut total_cost = 0u64;
[INFO] [stdout]     |                          ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 321 |     total_cost = cost as u64;
[INFO] [stdout]     |     ------------------------ `total_cost` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backend`
[INFO] [stdout]    --> src/futures/gpu_jit_compiler.rs:111:23
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn verify_backend(backend: GpuBackend) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> src/futures/distributed.rs:442:13
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let node_id = coordinator.register_node()?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `traceback_nw` is never used
[INFO] [stdout]    --> src/alignment/mod.rs:889:8
[INFO] [stdout]     |
[INFO] [stdout] 746 | impl NeedlemanWunsch {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 889 |     fn traceback_nw(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_sw_cpu` is never used
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl SmithWatermanKernel {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn compute_sw_cpu(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_nw_cpu` is never used
[INFO] [stdout]    --> src/alignment/kernel_launcher.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl NeedlemanWunschKernel {
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn compute_nw_cpu(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `execute_viterbi_kernel` is never used
[INFO] [stdout]    --> src/alignment/simd_viterbi.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl ViterbiDecoder {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     fn execute_viterbi_kernel(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `profile`, `matrix`, `gap_open`, and `gap_extend` are never read
[INFO] [stdout]   --> src/alignment/gpu_tiling_strategy.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct GpuTilingStrategy {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     profile: TilingProfile,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 93 |     /// Scoring matrix
[INFO] [stdout] 94 |     matrix: ScoringMatrix,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 95 |     /// Penalty values
[INFO] [stdout] 96 |     gap_open: i32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 97 |     gap_extend: i32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_descendants` is never used
[INFO] [stdout]    --> src/futures/tree_refinement.rs:411:4
[INFO] [stdout]     |
[INFO] [stdout] 411 | fn count_descendants(tree: &RefinableTree, node_id: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `matrix` is never read
[INFO] [stdout]   --> src/futures/streaming_msa.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct StreamingMSA {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     matrix: ScoringMatrix,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `task_counter` is never read
[INFO] [stdout]   --> src/futures/distributed.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct TaskQueue {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 62 |     tasks: Arc<Mutex<VecDeque<AlignmentTask>>>,
[INFO] [stdout] 63 |     task_counter: Arc<AtomicUsize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_task_id` is never used
[INFO] [stdout]    --> src/futures/distributed.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl TaskQueue {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn next_task_id(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/futures/tree_refinement.rs:489:17
[INFO] [stdout]     |
[INFO] [stdout] 489 |         assert!(improvements >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/futures/tree_refinement.rs:520:17
[INFO] [stdout]     |
[INFO] [stdout] 520 |         assert!(improvements >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/futures/tree_refinement.rs:552:17
[INFO] [stdout]     |
[INFO] [stdout] 552 |         assert!(improvements >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/futures/phylogeny_parsimony.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |         assert!(cost >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.42s
[INFO] running `Command { std: "docker" "inspect" "cc6f1239546ec0f49f7d96ac6e5e1d33da2a1affa84431a3e61a6d3b631a46f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc6f1239546ec0f49f7d96ac6e5e1d33da2a1affa84431a3e61a6d3b631a46f8", kill_on_drop: false }`
[INFO] [stdout] cc6f1239546ec0f49f7d96ac6e5e1d33da2a1affa84431a3e61a6d3b631a46f8
